/** @jsxImportSource @emotion/react */
import * as React from "react";
import {
    Text, LineColumn, InputLine, SuffixInput, Table, TableBody, TableRow, CCell, TableHead,
} from "customize-easy-ui-component";
import {
    InspectRecordLayout, InternalItemProps, RepLink, SelectHookfork, useItemInputControl,
} from "../../common/base";
import {useMeasureInpFilter} from "../../common/hooks";

export const tail顶空= <Text css={{"@media print": {fontSize: '0.75rem'}}}>
    注：1、本表所列项目未测量时，相关数据可不填写，但结果判定应填写，对不适用项填“/”。<br/>
    2、对于直接作用式液压驱动电梯，不需要考虑0.035Vm²。
</Text>;
const item顶空: string[]= [];
//液压电梯： 存储也和曳引的一个样名字。
for(let i=0; i<7; i++)   item顶空.push('曳引顶'+(i+1));
const itemA顶空 = ['曳引坎差H' ];
for(let i=0; i<7; i++)   itemA顶空.push('曳引顶'+(i+1)+'r');
export const itemn顶空 =item顶空.concat(itemA顶空);
export const Headspace =
    React.forwardRef(({children, show, alone = true, refWidth, label}: InternalItemProps, ref
    ) => {
        const [getInpFilter] = useMeasureInpFilter(item顶空, itemA顶空,);
        const {inp, setInp} = useItemInputControl({ref});
        return (
            <InspectRecordLayout inp={inp} setInp={setInp} getInpFilter={getInpFilter} show={show}
                                 alone={alone} label={label!}>
                <Text variant="h5">{label}。 </Text> 单位：m<br/>
                当柱塞达到其行程限位装置所限定的极限位置时，测量层门地坎与轿厢地坎的高差值（H）：
                <InputLine label='当柱塞达到其行程限位装置所限定的极限位置时，测量层门地坎与轿厢地坎的高差值（H）'>
                    <SuffixInput  value={inp?.['曳引坎差H'] || ''} onSave={txt=> setInp({...inp,['曳引坎差H']: txt || undefined })}>m</SuffixInput>
                </InputLine>
                <hr/>
                项目 A1.2.2.10(3) -&gt; C1 检验要求：轿厢导轨应提供≥0.10m的进一步的制导行程
                <LineColumn column={6}>
                    <InputLine label='轿厢在上端站平层位置时，测量轿顶上相关数值C1'>
                        <SuffixInput  value={inp?.曳引顶1o || ''} onSave={txt=> setInp({...inp,曳引顶1o: txt || undefined })}>m</SuffixInput>
                    </InputLine>
                    <Text css={{display: 'ruby'}}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值 A1= C1-H-0.035Vm²=
                        <SuffixInput  value={inp?.曳引顶1v || ''} onSave={txt=> setInp({...inp,曳引顶1v: txt || undefined })}>m</SuffixInput>
                    </Text>
                    <InputLine label={`项目C1-判定结论`}>
                        <SelectHookfork value={inp?.曳引顶1r || ''}
                                        onChange={e => setInp({...inp, 曳引顶1r: e.currentTarget.value || undefined})}/>
                    </InputLine>
                </LineColumn>
                <hr/>
                项目 A1.2.2.11.1 -&gt; C2 检验要求：位于轿厢投影部分的井道顶最低部件的水平面与轿顶最高可站人面积水平面之间的垂直距离ha≥1.00m
                <LineColumn column={6}>
                    <InputLine label='轿厢在上端站平层位置时，测量轿顶上相关数值C2'>
                        <SuffixInput  value={inp?.曳引顶2o || ''} onSave={txt=> setInp({...inp,曳引顶2o: txt || undefined })}>m</SuffixInput>
                    </InputLine>
                    <Text css={{display: 'ruby'}}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值 A2= C2-H-0.035Vm²=
                        <SuffixInput  value={inp?.曳引顶2v || ''} onSave={txt=> setInp({...inp,曳引顶2v: txt || undefined })}>m</SuffixInput>
                    </Text>
                    <InputLine label={`项目C2-判定结论`}>
                        <SelectHookfork value={inp?.曳引顶2r || ''}
                                        onChange={e => setInp({...inp, 曳引顶2r: e.currentTarget.value || undefined})}/>
                    </InputLine>
                </LineColumn>
                项目 A1.2.2.11.1 -&gt; C3 检验要求：井道顶最低部件与导靴或者滚轮、悬挂装置端接装置附件、垂直滑动门的横梁或者部件的最高部分之间的自由垂直距离hb≥0.10m
                <LineColumn column={6}>
                    <InputLine label='轿厢在上端站平层位置时，测量轿顶上相关数值C3'>
                        <SuffixInput  value={inp?.曳引顶3o || ''} onSave={txt=> setInp({...inp,曳引顶3o: txt || undefined })}>m</SuffixInput>
                    </InputLine>
                    <Text css={{display: 'ruby'}}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值 A3= C3-H-0.035Vm²=
                        <SuffixInput  value={inp?.曳引顶3v || ''} onSave={txt=> setInp({...inp,曳引顶3v: txt || undefined })}>m</SuffixInput>
                    </Text>
                    <InputLine label={`项目C3-判定结论`}>
                        <SelectHookfork value={inp?.曳引顶3r || ''}
                                        onChange={e => setInp({...inp, 曳引顶3r: e.currentTarget.value || undefined})}/>
                    </InputLine>
                </LineColumn>
                项目 A1.2.2.11.1 -&gt; C4 检验要求：井道顶最低部件与固定在轿顶部件最高部分之间的自由垂直距离，hc≥0.30m
                <LineColumn column={6}>
                    <InputLine label='轿厢在上端站平层位置时，测量轿顶上相关数值C4'>
                        <SuffixInput  value={inp?.曳引顶4o || ''} onSave={txt=> setInp({...inp,曳引顶4o: txt || undefined })}>m</SuffixInput>
                    </InputLine>
                    <Text css={{display: 'ruby'}}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值 A4= C4-H-0.035Vm²=
                        <SuffixInput  value={inp?.曳引顶4v || ''} onSave={txt=> setInp({...inp,曳引顶4v: txt || undefined })}>m</SuffixInput>
                    </Text>
                    <InputLine label={`项目C4-判定结论`}>
                        <SelectHookfork value={inp?.曳引顶4r || ''}
                                        onChange={e => setInp({...inp, 曳引顶4r: e.currentTarget.value || undefined})}/>
                    </InputLine>
                </LineColumn>
                <hr/>
                项目 A1.2.2.11.1 -&gt; C5/C6/C7 检验要求：轿顶上方有一个不小于0.50m×0.60m×0.80m的空间(任意平面朝下均可)。
                <LineColumn column={6}>
                    <InputLine label='轿厢在上端站平层位置时，测量轿顶上相关数值C5'>
                        <SuffixInput  value={inp?.曳引顶5o || ''} onSave={txt=> setInp({...inp,曳引顶5o: txt || undefined })}>m</SuffixInput>
                    </InputLine>
                    <Text css={{display: 'ruby'}}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值 A5= C5-H-0.035Vm²=
                        <SuffixInput  value={inp?.曳引顶5v || ''} onSave={txt=> setInp({...inp,曳引顶5v: txt || undefined })}>m</SuffixInput>
                    </Text>
                    <InputLine label={`项目C5-判定结论`}>
                        <SelectHookfork value={inp?.曳引顶5r || ''}
                                        onChange={e => setInp({...inp, 曳引顶5r: e.currentTarget.value || undefined})}/>
                    </InputLine>
                </LineColumn>
                项目 A1.2.2.11.1 -&gt; C6 检验&gt;&gt;
                <LineColumn column={6}>
                    <InputLine label='轿厢在上端站平层位置时，测量轿顶上相关数值C6'>
                        <SuffixInput  value={inp?.曳引顶6o || ''} onSave={txt=> setInp({...inp,曳引顶6o: txt || undefined })}>m</SuffixInput>
                    </InputLine>
                    <Text css={{display: 'ruby'}}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值 C6=
                        <SuffixInput  value={inp?.曳引顶6v || ''} onSave={txt=> setInp({...inp,曳引顶6v: txt || undefined })}>m</SuffixInput>
                    </Text>
                    <InputLine label={`项目C6-判定结论`}>
                        <SelectHookfork value={inp?.曳引顶6r || ''}
                                        onChange={e => setInp({...inp, 曳引顶6r: e.currentTarget.value || undefined})}/>
                    </InputLine>
                </LineColumn>
                项目 A1.2.2.11.1 -&gt; C7 检验&gt;&gt;
                <LineColumn column={6}>
                    <InputLine label='轿厢在上端站平层位置时，测量轿顶上相关数值C7'>
                        <SuffixInput  value={inp?.曳引顶7o || ''} onSave={txt=> setInp({...inp,曳引顶7o: txt || undefined })}>m</SuffixInput>
                    </InputLine>
                    <Text css={{display: 'ruby'}}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值 C7=
                        <SuffixInput  value={inp?.曳引顶7v || ''} onSave={txt=> setInp({...inp,曳引顶7v: txt || undefined })}>m</SuffixInput>
                    </Text>
                    <InputLine label={`项目C7-判定结论`}>
                        <SelectHookfork value={inp?.曳引顶7r || ''}
                                        onChange={e => setInp({...inp, 曳引顶7r: e.currentTarget.value || undefined})}/>
                    </InputLine>
                </LineColumn>
                {tail顶空}
            </InspectRecordLayout>
        );
});

export const HeadspaceVw= ({children, orc, rep,label } : { orc: any, rep: any,label:any, children?: any}
) => {
    return <>
        <div css={{"@media print": {paddingBottom: '9.5rem', pageBreakInside: 'avoid'}}}>
            <Text variant="h5" css={{marginTop: '1rem',
            }}>{label}</Text>
            <div css={{textAlign: 'right'}}>单位：m</div>
        </div>
        <Table id='Headspace' fixed={ ["5.7%","%", "6.3%", "6.6%","16%","11%","5.9%","5.2%"] }
                css={ {borderCollapse: 'collapse', "@media print": {marginTop: '-9.5rem'}} }    tight  miniw={800}>
            <TableHead>
                <TableRow>
                    <CCell>项目编号</CCell><CCell>检验内容与要求</CCell><CCell colSpan={2}>轿厢在上端站平层位置时，测量轿顶上相关数值（C）</CCell>
                    <CCell>当柱塞达到其行程限位装置所限定的极限位置时，测量层门地坎与轿厢地坎的高差值（H）</CCell>
                    <CCell colSpan={2}>当柱塞达到其行程限位装置所限定的极限位置时，顶部空间计算结果值</CCell><CCell>结果判定</CCell>
                </TableRow>
            </TableHead>
            <TableBody>
                <RepLink ori rep={rep} tag={'Headspace'}>
                    <TableRow>
                        <CCell>A1.2.2.10(3)</CCell><CCell>轿厢导轨应提供≥0.10m的进一步的制导行程</CCell>
                        <CCell>C1 =</CCell><CCell>{orc?.曳引顶1o??'／'}</CCell>
                        <CCell rowSpan={7} split>H={orc?.曳引坎差H??'／'}</CCell><CCell>A1= C1-H-0.035Vm²=</CCell>
                        <CCell>{orc?.曳引顶1v??'／'}</CCell><CCell>{orc?.曳引顶1r??'／'}</CCell>
                    </TableRow>
                    <TableRow>
                        <CCell>A1.2.2.11.1</CCell><CCell>位于轿厢投影部分的井道顶最低部件的水平面与轿顶最高可站人面积水平面之间的垂直距离ha≥1.00m</CCell>
                        <CCell>C2 =</CCell><CCell>{orc?.曳引顶2o??'／'}</CCell>
                        <CCell>A2= C2-H-0.035Vm²=</CCell><CCell>{orc?.曳引顶2v??'／'}</CCell><CCell>{orc?.曳引顶2r??'／'}</CCell>
                    </TableRow>
                    <TableRow>
                        <CCell>A1.2.2.11.1</CCell><CCell>井道顶最低部件与导靴或者滚轮、悬挂装置端接装置附件、垂直滑动门的横梁或者部件的最高部分之间的自由垂直距离hb≥0.10m</CCell>
                        <CCell>C3 =</CCell><CCell>{orc?.曳引顶3o??'／'}</CCell>
                        <CCell>A3= C3-H-0.035Vm²=</CCell><CCell>{orc?.曳引顶3v??'／'}</CCell><CCell>{orc?.曳引顶3r??'／'}</CCell>
                    </TableRow>
                    <TableRow>
                        <CCell>A1.2.2.11.1</CCell><CCell>井道顶最低部件与固定在轿顶部件最高部分之间的自由垂直距离，hc≥0.30m</CCell>
                        <CCell>C4 =</CCell><CCell>{orc?.曳引顶4o??'／'}</CCell>
                        <CCell>A4= C4-H-0.035Vm²=</CCell><CCell>{orc?.曳引顶4v??'／'}</CCell><CCell>{orc?.曳引顶4r??'／'}</CCell>
                    </TableRow>
                    <TableRow>
                        <CCell rowSpan={3}>A1.2.2.11.1</CCell><CCell rowSpan={3}>轿顶上方有一个不小于0.50m×0.60m×0.80m的空间(任意平面朝下均可)。</CCell>
                        <CCell>C5 =</CCell><CCell>{orc?.曳引顶5o??'／'}</CCell>
                        <CCell>A5= C5-H-0.035Vm²=</CCell><CCell>{orc?.曳引顶5v??'／'}</CCell><CCell>{orc?.曳引顶5r??'／'}</CCell>
                    </TableRow>
                    <TableRow>
                        <CCell>C6 =</CCell><CCell>{orc?.曳引顶6o??'／'}</CCell><CCell>C6=</CCell><CCell>{orc?.曳引顶6v??'／'}</CCell><CCell>{orc?.曳引顶6r??'／'}</CCell>
                    </TableRow>
                    <TableRow>
                        <CCell>C7 =</CCell><CCell>{orc?.曳引顶7o??'／'}</CCell><CCell>C7=</CCell><CCell>{orc?.曳引顶7v??'／'}</CCell><CCell>{orc?.曳引顶7r??'／'}</CCell>
                    </TableRow>
                </RepLink>
            </TableBody>
        </Table>
        {tail顶空}
    </>;
};
